package com.black.common.mybatis.datascope;

import com.black.common.annotation.DataScope;

import java.util.List;

/**
 * 权限sql处理器接口
 * 系统会根据类型匹配权限sql处理器，再调用getPowerSql(DataPower dataPower)获取权限sql
 * @author linwenfeng
 */
public interface DataScopeSqlHandler {
    /**
     * 处理类型
     * @return r
     */
    String getType();

    /**
     * 获取权限范围
     * @param dataScope 权限注解
     * @return  r
     */
    List<String> getDataPowerCode(DataScope dataScope);

    /**
     * 获取权限sql
     * @param dataScope 权限注解
     * @return 权限sql
     */
    String getScopeSql(DataScope dataScope);

}
